import Vue from 'vue'
import Vuex from 'vuex'

// 引用 Vuex插件
Vue.use(Vuex)

const store = new Vuex.Store({
    state: {// 存放状态（共享属性）
        count: 1
    },

    // 改变 state状态值
    mutations: {
        increment(state, n) { // n为载荷
            // state.count ++ 
            state.count += n // state.count = state.count+n
        },
        decrement(state) {
            state.count --
        }
    },

    actions: {
        add(context, n) {
            // 触发 mutations 里面的 increment 来改变state
            context.commit('increment', n)
        },
        decrement({commit, state}) { // 按需传入
            console.log('actions.decrement.sate.count', state.count)
            commit('decrement')
        }
    },

    // 派生属性
    getters: {
        desc(state) {
            if(state.count<50) {
                return '吃饭'
            }else if(state.count < 100) {
                return '睡觉'
            }else {
                return '打豆豆'
            }
        }
    }
})
export default store